package com.sacfa.dialogs;

import java.awt.BorderLayout;
import java.awt.Toolkit;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import com.sacfa.commons.utilities.SACFAExceptions;
import com.sacfa.commons.utilities.Utilities;
import com.sacfa.jframes.RecursosHumanos;
import com.sacfa.rrhh.beans.Empleado;
import com.sacfa.rrhh.bo.EmpleadoBo;

import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.JTextField;
import java.awt.Font;
import javax.swing.JButton;

import org.apache.log4j.Logger;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

@SuppressWarnings("serial")
public class FiltradoEmpleado extends JDialog {
	private static Logger log = Logger.getLogger(FiltradoEmpleado.class);
	
	private final JPanel contentPanel = new JPanel();
	private JTextField txtNombre;
	private JTextField txtAP;
	
	public FiltradoEmpleado(JFrame parent) {
		super(parent, true);
		setTitle("Registrarse al juego");
		setSize(400, 170);
		setIconImage(Toolkit.getDefaultToolkit().getImage(Utilities.obtenerClassPath() + "resources\\images\\icon.png"));
		setResizable(false);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		getContentPane().setLayout(new BorderLayout());
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel, BorderLayout.CENTER);
		contentPanel.setLayout(null);
		
		JLabel lblNombre = new JLabel("Nombre:");
		lblNombre.setFont(new Font("Comic Sans MS", Font.PLAIN, 13));
		lblNombre.setHorizontalAlignment(SwingConstants.RIGHT);
		lblNombre.setBounds(49, 18, 100, 17);
		contentPanel.add(lblNombre);
		
		txtNombre = new JTextField();
		txtNombre.setBounds(159, 18, 201, 20);
		contentPanel.add(txtNombre);
		txtNombre.setColumns(10);
		
		JLabel lblApellidoPaterno = new JLabel("Apellido Paterno:");
		lblApellidoPaterno.setHorizontalAlignment(SwingConstants.RIGHT);
		lblApellidoPaterno.setFont(new Font("Comic Sans MS", Font.PLAIN, 13));
		lblApellidoPaterno.setBounds(25, 53, 124, 17);
		contentPanel.add(lblApellidoPaterno);
		
		txtAP = new JTextField();
		txtAP.setColumns(10);
		txtAP.setBounds(159, 53, 201, 20);
		contentPanel.add(txtAP);
		
		JButton button = new JButton("<<Buscar>>");
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				buscar();
			}
		});
		button.setBounds(149, 94, 110, 23);
		contentPanel.add(button);
	}
	
	private void buscar() {
		EmpleadoBo empleadoBo = new EmpleadoBo();
		Empleado empleado = new Empleado();
		
		empleado.setNombre(txtNombre.getText());
		empleado.setApellidoPaterno(txtAP.getText());
		try{
			empleado = empleadoBo.consultar(empleado);
			if(empleado != null){
				RecursosHumanos recursosHumanos = RecursosHumanos.getInstance();
				recursosHumanos.modificar(empleado);
				this.setVisible(false);
			}
		} catch (Exception e){
			log.info("Error en comandos", e);
			throw new SACFAExceptions("Error en comandos", e);
		}
	}
}
